cognitive vs software